package com.ruoyi.dynamic.mapper;

import com.ruoyi.dynamic.domain.Dynamic;

import java.util.List;

/**
 * 动态表 数据层
 * 
 * @author ruoyi
 */
public interface DynamicMapper
{
    /**
     * 根据条件分页查询动态列表
     * 
     * @param dynamic 动态信息
     * @return 动态信息集合信息
     */
    public List<Dynamic> selectDynamicList(Dynamic dynamic);

    /**
     * 通过动态名查询动态
     * 
     * @param dynamicTitle 动态名
     * @return 动态对象信息
     */
    public Dynamic selectDynamicByDynamicTitle(String dynamicTitle);

    /**
     * 通过动态ID查询动态
     * 
     * @param dynamicId 动态ID
     * @return 动态对象信息
     */
    public Dynamic selectDynamicById(Long dynamicId);

    /**
     * 新增动态信息
     * 
     * @param dynamic 动态信息
     * @return 结果
     */
    public int insertDynamic(Dynamic dynamic);

    /**
     * 修改动态信息
     * 
     * @param dynamic 动态信息
     * @return 结果
     */
    public int updateDynamic(Dynamic dynamic);

    /**
     * 修改动态信息 喜欢人数+1
     *
     * @param dynamicId 动态信息
     * @return 结果
     */
    public void updateDynamicNumLikeAdd(Long dynamicId);

    /**
     * 修改动态信息 喜欢人数-1
     *
     * @param dynamicId 动态信息
     * @return 结果
     */
    public void updateDynamicNumLikeReduce(Long dynamicId);

    /**
     * 批量删除动态信息
     * 
     * @param dynamicIds 需要删除的动态ID
     * @return 结果
     */
    public int deleteDynamicByIds(Long[] dynamicIds);
}
